﻿using System;
using System.Collections.Generic;

namespace BusinessBingo.Web.Models.ViewModels
{
    public class BoxedBingoSetViewModel
    {
        public BoxedBingoSetViewModel(BingoSetViewModel bingoSetViewModel, int boxSize)
        {
            this.BingoSetViewModel = bingoSetViewModel;
            this.BoxSize = boxSize;

            this.BingoSetWordsInRow = new Dictionary<int, List<WordPositionViewModel>>();
            int rowNumber = -1;
            for (int i = 0; i < bingoSetViewModel.WordPositionViewModels.Count; i++)
            {
                if (i % bingoSetViewModel.Size == 0)
                {
                    rowNumber++;
                    
                    var newWordListInRow = new List<WordPositionViewModel>();
                    newWordListInRow.Add(bingoSetViewModel.WordPositionViewModels[i]);
                    this.BingoSetWordsInRow.Add(rowNumber, newWordListInRow);
                }
                else
                {
                    this.BingoSetWordsInRow[rowNumber].Add(bingoSetViewModel.WordPositionViewModels[i]);
                }
            }
        }

        public int BoxSize { get; set; }

        [Obsolete("Es gibt nun die Daten in dem Row Dictionary. Doppelt halten evtl. quark.")]
        public BingoSetViewModel BingoSetViewModel { get; set; }

        public Dictionary<int, List<WordPositionViewModel>> BingoSetWordsInRow { get; set; }
    }
}